30 PRINT : PRINT "TYPE IN THE ANSWER AS A SINGLE FRACTION IN LOWEST TERMS.": PRINT : PRINT "USE '/' AS THE LINE BETWEEN THE NUMERATOR AND DENOMINATOR. THEN PRESS 'RETURN'": PRINT
35 RETURN
49 REM REDUCING LOOP
50 FOR J = 2 TO X
60 IF C1/J < > INT(C1/J) THEN 100
70 IF C2/J < > INT(C2/J) THEN 100
80 C1 = C1/J:C2 = C2/J
90 GOTO 60
100 NEXT J
110 B$ = STR$(C1) +"/" + STR$(C2)
120 RETURN
199 REM ANSWER WRONG
200 Y = INT( RND(1) *5) +1: ON Y GOTO 210,220,230,240,250
210 PRINT "SORRY! INCORRECT": GOTO 260
220 PRINT "OOPS!! YOU MUST HAVE TYPED THE ANSWER IN WRONG": GOTO 260
230 PRINT "<CTRL-G><CTRL-G>ERROR!": GOTO 260
240 PRINT "NOPE!": GOTO 260
250 PRINT "WRONG, ";N$
260 PRINT : PRINT "THE CORRECT ANSWER WAS ";B$: RETURN
299 REM ANSWER RIGHT
300 Y = INT( RND(1) *5) +1: ON Y GOTO 310,320,330,340,350
2070 IF A$ = B$ THEN R = R +1: GOSUB 300: GOSUB 500: GOTO 2230
2080 GOSUB 200
2090 INPUT "WOULD YOU LIKE TO SEE A SAMPLE PROBLEM? (YES OR NO)";Q$
2100 IF LEFT$(Q$,1) = "N" THEN GOSUB 500: GOTO 2230
2110 IF LEFT$(Q$,1) < >"Y" THEN 2090
2120 REM DIVIDE EXPLANATION
2130 HOME : INVERSE : PRINT "HOW TO DIVIDE FRACTIONS": NORMAL : PRINT
2140 PRINT "DIVIDING FRACTIONS IS ALMOST LIKE MULTIPLYING THEM."
2145 PRINT : PRINT "EXAMPLE: 3/4 / 7/8 ="
2150 PRINT : PRINT "SIMPLY TURN THE SECOND FRACTION UPSIDE DOWN!": PRINT "(PUT THE DENOMINATOR ON TOP AND THE NUMERATOR ON THE BOTTOM)": PRINT "3/4 * 8/7"
2160 PRINT : PRINT "THEN MULTIPLY AND REDUCE."
2190 PRINT : PRINT "3 * 8 = 24 (NEW NUMERATOR)"
2200 PRINT "4 * 7 = 28 (NEW DENOMIATOR)"
2210 PRINT : PRINT "24/28 = 6/7 (THE ANSWER!)"
2220 GOSUB 500
2230 HOME : NEXT I: GOTO 1150
2239 REM QUIT
2240 HOME : IF TK = 0 THEN 2330
2245 PRINT "YOU GOT ";R;" OUT OF ";TK;" RIGHT, WHICH IS ";
2250 PER = INT((R/TK *100) +.5)
2260 PRINT PER;" PERCENT.": PRINT
2270 FOR I = 1 TO 1500: NEXT I
2280 IF PER >94 THEN PRINT "EXCELLENT<CTRL-G><CTRL-G>!": GOTO 2320
2290 IF PER >85 THEN PRINT "VERY GOOD!": GOTO 2320
2300 IF PER >75 THEN PRINT "KEEP UP THE GOOD WORK.": GOTO 2320
2310 PRINT "YOU'D BETTER STUDY THIS A LITTLE MORE AND TRY AGAIN LATER."
2320 FOR I = 1 TO 2500: NEXT I
2330 PRINT : PRINT "THANK YOU VERY MUCH.": PRINT : PRINT "BYE!"
2340 END
10305 REM
10310 REM VARIABLE CLARIFICATION:
10320 REM A$(I) = NAMES OF PROGRAMMERS FOR RANDOM BILLING
10330 REM I = VARIOUS LOOPS
10340 REM B(X) = RANDOM BILLING
10350 REM N$ = NAME OF USER
10360 REM N AND X$ = OPERATION NUMBERS
10370 REM K$ AND K = NUMBER OF PROBLEMS
10380 REM N1 = FIRST NUMERATOR
10390 REM D1 = FIRST DENOMINATOR
10400 REM N2 = SECOND NUMERATOR
10410 REM D2 = SECOND DENOMINATOR
10420 REM C1 = CORRECT NUMERATOR
10430 REM C2 = CORRECT DENOMINATOR
10435 REM X = SMALLER OF C1 AND C2
10440 REM A$ = INPUT ANSWER
10450 REM B$ = CORRECT ANSWER
10460 REM J = REDUCING LOOP FOR COMMON DENOMINATOR
10470 REM Q$ = ANSWER TO SEEING HOW PROBLEM DONE
10480 REM Y = RANDOM NUMBER FOR CORRECT/INCORRECT REMARK